package com.test.mybatis.mapper;

import com.test.mybatis.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {
//    根据ID查询用户
    User selectUserById(Integer id);

    //    根据名字、密码查询用户多参数推荐使用@param注解指定参数名
    User selectByNamePass(@Param("name") String name, @Param("password") String pwd);

    User selectByNamePassWithMap(Map<String,String> map);

    User selectByNamePassWithUser(User user);

    //根据用户名字模糊查询用户
    List<User> selectlikeByname(String name);
//    根据ID删除
    int deleteById(Integer id);
//    添加员工
    int inserUser(User user);
//    添加员工后回填主键id，在用户对象中就可以获取新增的id的值了
    int insertUserAndGetId(User user);

//    修改员工
    int updateuser(User user);
//  动态查询  根据name 或者 password 查询用户
    List<User> selectUserByNameOrPass(@Param("name") String name,@Param("pwd") String password);

//    动态更新用户
    int updateUserDynatic(User user);

//    批量删除用户
    int deleteByIdList(List<Integer> ids);
//    查询所有用户
    List<User> selectall();
}
